#include "HistoryWorker.h"

// 聊天工作器类的构造函数，接收父对象指针
HistoryWorker::HistoryWorker(QObject *parent)
    : QObject(parent)  // 调用父类构造函数
{
}

HistoryWorker::HistoryWorker(const string &path, QObject *parent)
    : QObject(parent)  // 调用父类构造函数
{
    bridge.set_path_and_init_model(path);
}

HistoryWorker::~HistoryWorker(){}

// 处理用户输入的槽函数，接收用户输入的文本
void HistoryWorker::handleUserInput(const QString &input)
{
    // 将Qt字符串转换为标准C++字符串，调用bridge对象的query方法获取模型响应
    std::string result = bridge.chat(input.toStdString());
    
    // 将C++字符串转换回Qt字符串，通过信号将结果发送给UI线程
    emit responseReady(QString::fromStdString(result));
}